<!-- 用户根据用户的角色动态展示不同的导航栏内容 -->
<!--动态组件  <component :is="currentRole" />，其中currentRole是一个变量，
根据用户的角色动态绑定到不同的组件上 -->
<template>
  <div class="dashboard-container">
    <component :is="currentRole" />
  </div>
</template>

<script>
import { mapGetters } from 'vuex'// 引入vue的mapGetters辅助函数，用于从vuex中获取角色信息
import adminDashboard from './admin'
import editorDashboard from './editor'

export default {
  name: 'Dashboard',
  components: { adminDashboard, editorDashboard },
  data() {
    return {
      currentRole: 'adminDashboard'
    }
  },
  /* 使用计算属性roles来获取用户的角色信息 */
  computed: {
    ...mapGetters([
      'roles'
    ])
  },
  /* 检查用户的角色信息，如果不包含admin角色，则将currentRole设置为“editorDashboard”
  以便显示editor的导航栏 */
  created() {
    if (!this.roles.includes('admin')) {
      this.currentRole = 'editorDashboard'
    }
  }
}
</script>
